/**
 * Sa-Token 认证工具
 * 用于在 AJAX 请求中自动添加 token
 */

// jQuery AJAX 全局配置，自动在请求头中添加 token
$(document).ready(function() {
    // 设置全局 AJAX 拦截器
    $.ajaxSetup({
        beforeSend: function(xhr) {
            // 从 localStorage 获取 token
            var token = localStorage.getItem('token');
            if (token) {
                // 添加到请求头中，sa-token 默认从 header 中读取 token
                xhr.setRequestHeader('token', token);
                console.log('已添加 token 到请求头:', token);
            }
        },
        error: function(xhr, status, error) {
            // 401 未授权，token 失效或未登录
            if (xhr.status === 401) {
                alert('登录已过期，请重新登录！');
                // 清除 token
                localStorage.removeItem('token');
                // 跳转到登录页
                window.location.href = '/aaaa/login/code/115/115.html';
            }
        }
    });
});

/**
 * 登出函数
 */
function logout() {
    var token = localStorage.getItem('token');
    if (!token) {
        alert('您还未登录！');
        return;
    }

    $.ajax({
        url: HTTPURL + '/Logout',
        method: 'POST',
        success: function(response) {
            if (response.code === 200) {
                alert('登出成功！');
                // 清除本地存储
                localStorage.removeItem('token');
                localStorage.removeItem('username');
                // 跳转到登录页
                window.location.href = '/aaaa/login/code/115/115.html';
            } else {
                alert(response.msg || '登出失败！');
            }
        },
        error: function(xhr, status, error) {
            console.log('登出失败:', error);
            // 即使请求失败也清除本地 token
            localStorage.removeItem('token');
            localStorage.removeItem('username');
            window.location.href = '/aaaa/login/code/115/115.html';
        }
    });
}

/**
 * 检查是否已登录
 */
function isLogin() {
    var token = localStorage.getItem('token');
    return token !== null && token !== '';
}

/**
 * 获取当前 token
 */
function getToken() {
    return localStorage.getItem('token');
}
